1. Field of the Invention
The present invention relates to impulse transmission systems and, more particularly, to a method of applying codes for specifying characteristics of pulses in an impulse transmission system.
2. Related Art
As the availability of communication bandwidth in the increasingly crowded frequency spectrum is becoming a scarce and valuable commodity, Time Modulated Ultra Wideband (TM-UWB) technology provides an excellent alternative for offering significant communication bandwidth, particularly, for various wireless communications applications. Because TM-UWB communication systems are based on communicating extremely short-duration pulses (e.g., pico-seconds in duration), such systems are also known as impulse radio systems. Impulse radio systems were first described in a series of patents, including U.S. Pat. No. 4,641,317 (issued Feb. 3, 1987), U.S. Pat. No. 4,813,057 (issued Mar. 14, 1989), U.S. Pat. No. 4,979,186 (issued Dec. 18, 1990), and U.S. Pat. No. 5,363,057 (issued Nov. 8, 1994) to Larry W. Fullerton, and U.S. Pat. No. 5,677,927 (issued Oct. 14, 1997), U.S. Pat. No. 5,687,169 (issued Nov. 11, 1997), and U.S. Pat. No. 5,832,035 (issued Nov. 3, 1998) to Larry W. Fullerton, et al. These patents are incorporated herein by reference.
Multiple access impulse radio systems are radically different from conventional Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA) and Frequency Division Multiple Access (FDMA) systems. Unlike such systems, which use continuous sinusoidal waveforms for transmitting information, a conventional impulse radio transmitter emits a low power electromagnetic train of short pulses, which are shaped to approach a Gaussian monocycle. As a result, the impulse radio transmitter uses very little power to generate noise-like communication signals for use in multiple-access communications, radar and positioning applications, among other things. In the multi-access communication applications, the impulse radio systems depend, in part, on processing gain to achieve rejection of unwanted signals. Because of the extremely high achievable processing gains, the impulse radio systems are relatively immune to unwanted signals and interference, which limit the performance of systems that use continuous sinusoidal waveforms. The high processing gains of the impulse radio systems also provide much higher dynamic ranges than those commonly achieved by the processing gains of other known spread-spectrum systems.
Impulse radio communication systems transmit and receive the pulses at precisely controlled time intervals, in accordance with a time-hopping code. As such, the time-hopping code defines a communication channel that can be considered as a unidirectional data path for communicating information at high speed. In order to communicate the information over such channels, typical impulse radio transmitters use position modulation, which is a form of time modulation, to position the pulses in time, based on instantaneous samples of a modulating information signal. The modulating information signal may for example be a multi-state information signal, such as a binary signal. Under this arrangement, a modulator varies relative positions of a plurality of pulses on a pulse-by-pulse basis, in accordance with the modulating information signal and a specific time-hopping code that defines the communication channel.
In applications where the modulating information signal is a binary information signal, each binary state may modulate the time position of more than one pulse to generate a modulated, coded timing signal that comprises a train of identically shaped pulses that represent a single data bit. The impulse transmitter applies the generated pulses to a specified transmission medium, via a coupler, such as an antenna, which electromagnetically radiates the pulses for reception by an impulse radio receiver. The impulse radio receiver typically includes a single direct conversion stage. Using a correlator, the conversion stage coherently converts the received pulses to a baseband signal, based on a priori knowledge of the time-hopping code. Because of the correlation properties of the selected time-hopping codes, the correlator integrates the desired received pulses coherently, while the undesired noise signals are integrated non-coherently such that by comparing the coherent and non-coherent integration results, the impulse receiver can recover the communicated information.
Conventional spread-spectrum code division multiple access (SS-CDMA) techniques accommodate multiple users by permitting them to use the same frequency bandwidth at the same time. Direct sequence CDMA systems employ pseudo-noise (PN) codewords generated at a transmitter to xe2x80x9cspreadxe2x80x9d the bandwidth occupied by transmitted data beyond the minimum required by the data. The conventional SS-CDMA systems employ a family of orthogonal or quasi-orthogonal spreading codes, with a pilot spreading code sequence synchronized to the family of codes. Each user is assigned one of the spreading codes as a spreading function. One such spread-spectrum system is described in U.S. Pat. No. 4,901,307 entitled SPREAD-SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS by Gilhousen et al.
Unlike direct sequence spread-spectrum systems, the time-hopping code for impulse radio communications is not necessary for energy spreading, because the monocycle pulses themselves have an inherently wide bandwidth. Instead, the impulse radio systems use the time-hoping codes for channelization, energy smoothing in the frequency domain, and interference suppression. The time-hoping code defines a relative position of each pulse within a group of pulses, or pulse train, such that the combination of pulse positions defines the communications channel. In order to convey information on such communication channel, each state of a multi-state information signal varies a relative pulse position by a predefined time shift such that a modulated, coded timing signal is generated comprising a train of pulses, each with timing corresponding to the combination of the time position coding and the multi-state modulation.
In one conventional binary approach, pulses are time-modulated forward or backward about a nominal position. More specifically, each pulse is time modulated by adjusting its position within a time frame to one of two or more possible times. For example, in order to send a xe2x80x9c0xe2x80x9d binary bit during the time frame, the pulse may be offset from a nominal position of the time frame by about xe2x88x9250 pico-seconds. For a xe2x80x9c1xe2x80x9d binary state, the pulse may be offset from the nominal position by about +50 pico-seconds. Conventional coders that generate the time-hoping code do so in response to a periodic timing signal that corresponds to the data-rate of the multi-state information signal. The data rate of the impulse radio transmission may for example be a fraction of a periodic timing signal that is used as a time base or time reference.
In practice, decoding errors are minimized using distinctive time-hopping codes with suitable autocorrelation and cross-correlation properties. The cross-correlation between any two time-hopping codes should be low for minimal interference between multiple users in a communications system or between multiple target reflections in radar and positioning applications. At the same time, the autocorrelation property of a time-hoping code should be steeply peaked, with small side-lobes. Maximally peaked time-hopping code autocorrelation yields optimal acquisition and synchronization properties for communications, radar and positioning applications.
Various coding schemes with known correlation characteristics are available. For example, algebraic codes, Quadratic Congruential (QC) codes, Hyperbolic Congruential (HC) codes and optical codes have been suggested in the past for coding in impulse radio systems. Generally, based on known assumptions, the coding schemes guarantee a maximum number of pulse coincidences, i.e., hits, for any defined time frame or time frame shift during which the codes are repeated. For example, HC codes are guaranteed a maximum of two hits for any sub-frame or frame shift.
McCorkle in U.S. Pat. No. 5,847,677 discloses a random number generator for generating a pseudo-random code for use with jittered pulse repetition interval radar systems. The code is generated by a random number generator that possesses certain attributes desirable for a jittered radar. As disclosed, the attributes related to a flat frequency spectrum, a nearly perfect spike for an autocorrelation function, a controllable absolute minimum and maximum interval, long sequences that do not repeat, and a reasonable average pulse rate.
One known coding technique for an impulse radio is disclosed by Barrett in U.S. Pat. No. 5,610,907, entitled xe2x80x9cUltrafast Time-hopping CDMA-RF Communications: Code-As-Carrier, Multichannel Operation, High data Rate Operation and Data Rate on Demand.xe2x80x9d According to the disclosed techniques, two levels of coding are used: major orthogonal codes are applied to provide multiple channels, and forward error correction (FEC) codes are applied to information data before transmission. The disclosed system relies on dividing time into repetitive super-frames, frames and sub-frames. As disclosed, a super-frame corresponds to a time interval of about 1 millisecond, representing one repetition of a code pattern, where as a frame is defined as a time interval of about 1 microsecond divided according to a code length. A sub-frame corresponds to a short time interval of about 1 nano second during which a pulse is time positioned.
TM-UWB technology may be used in a wide variety of applications, such as multiple-access communication systems, positioning systems, radar systems, etc. Such applications have varying requirements for correlation and spectral properties of the pulse trains they employ. The described time-hopping code methods produce codes that can be employed to address either a spectral property requirement or a correlation property requirement of given application, but are limited in their ability to address both correlation and spectral property requirements. As a result, such codes are limited in their ability to address both signal acquisition and channelization requirements of a given TM-UWB application requiring tradeoffs to be made when selecting a time-hopping code. Because of the wide variety of TM-UWB technology applications and limitations to current code generation and mapping methods, there exists a need for code generation and mapping methods that satisfy correlation property and spectral property requirements of TM-UWB applications.
Briefly, according to the present invention, a sequential and/or nested combination of two or more codes is used to specify pulse characteristics, e.g., pulse time positions, such that the correlation and/or spectral properties of the combined codes are realized. The present invention provides a method for specifying pulse characteristics that specifies a layout that is subdivided into at least a first and a second component. The present invention applies a first code having first pre-defined properties to the first component, and applies a second code having second pre-defined properties to the second component. The first code may be generated using a numerical code generation technique, for example, one with nearly ideal autocorrelation properties. In one embodiment, the numerical code generation technique can include Welch-Costas Array, Golomb-Costas Array, or Hyperbolic Congruential code generation techniques. The second code may also be generated using a numerical code generation technique, for example, one with nearly ideal cross-correlation properties. In one embodiment, the numerical code generation technique can include Quadratic Congruential, Linear Congruential, or Hyperbolic Congruential code generation techniques.
According to some of the more detailed features of the present invention, the first and second components may have the same or different sizes. In an exemplary embodiment, the layout is sequentially subdivided into a first or a second subdivision components. In one embodiment, the first and second subdivision components can have the same or different sizes.
According to some of the more detailed features of the present invention, the first and second components may contain discrete values. In one embodiment, the discrete values can be evenly distributed or non-evenly distributed within the components.
According to some of the more detailed features of the present invention, the first and second components may be sequentially subdivided into at least a first or a second subdivision component containing discrete values. In one embodiment, the first and second subdivision components can have the same or different sizes. In one embodiment, the discrete values can be evenly distributed or non-evenly distributed within the subdivision components.
According to other detailed features of the invention, the first and second pre-defined properties may relate to a spectral property or a correlation property, such as an auto-correlation property or a cross-correlation property. When predefined properties relate to spectral or correlation properties, the first and second pre-defined properties may relate to different spectral and correlation properties. For example, the first predefined properties may relate to the auto-correlation properties and the second predefined properties may relate to the cross-correlation properties.
In another embodiment of the invention, the first or second code is generated using a numerical code generation technique with nearly ideal spectral properties. In an embodiment, the numerical code generation technique can include linear congruential pseudorandom number generator, additive lagged-Fibonacci pseudorandom number generator, linear feedback shift register, lagged-Fibonacci shift register, chaotic code generator or optimal Golomb ruler code generator techniques.
In another embodiment of the invention, the first code specifies subdivision components within which pulse characteristics are to be specified and the second code specifies discrete values within the subdivision components specified by the first code.
In another embodiment of the invention, first and second codes are mapped to the first component, and first and second codes are mapped to the second component, where each first code specifies subdivision components within which pulse characteristics are to be specified and each second code specifies discrete values within the subdivision components specified by the corresponding first code.